!function ($, c, x, l) {
  var t = function (c, x) {
    this.$element = c;
    this.defaults = {
      type: 1,
      vOffset: 5,
      vSpace: 5,
      imgName: ["1.jpg", "2.jpg"],
      imgSize: {
        width: "400px",
        height: "200px"
      },
      blockSize: {
        width: "50px",
        height: "50px"
      },
      barSize: {
        width: "400px",
        height: "40px"
      },
      ready: function () {},
      success: function () {},
      error: function () {}
    };
    this["options"] = $["extend"]({}, this["defaults"], x);
  };

  t["prototype"] = {
    init: function () {
      var m = this;

      for (var d = _cx$.j("6"); d !== _cx$.j("10");) switch (d) {
        case _cx$.j(4):
          m["$element"].find(".verify-refresh")["on"]("click", function () {
            m.refresh();
          });
          d = _cx$["k"]() ? _cx$["j"]("10") : _cx$.j("10");
          break;

        case _cx$.j("2"):
          c.addEventListener("mouseup", function () {
            m.end();
          });
          d = _cx$.j(4);
          break;

        case _cx$.j("1"):
          c["addEventListener"]("mousemove", function (c) {
            m.move(c);
          });
          d = _cx$.j("0");
          break;

        case 1 * (1 + 1) * (2 * 1 + 1) % 6 + 12 + "":
          this["htmlDoms"].move_block["on"]("mousedown", function (c) {
            m["start"](c);
          });
          d = _cx$.j(9);
          break;

        case _cx$.j("6"):
          this.loadDom();
          d = _cx$.j(3);
          break;

        case _cx$["j"](7):
          this.htmlDoms.move_block["on"]("touchstart", function (c) {
            m.start(c);
          });
          d = _cx$.j(8);
          break;

        case _cx$.j("0"):
          c["addEventListener"]("touchend", function () {
            m.end();
          });
          d = _cx$["j"]("2");
          break;

        case _cx$["j"](3):
          this.options.ready();
          d = _cx$["j"](5);
          break;

        case _cx$.j(9):
          c.addEventListener("touchmove", function (c) {
            m.move(c);
          });
          d = _cx$.j("1");
          break;

        case 1 * (1 + 1) * (2 * 1 + 1) % 6 + 9 + "":
          this["$element"]["length"] > 0 && (this["$element"][0]["onselectstart"] = x.body["ondrag"] = function () {
            return !1;
          });
          d = _cx$.j(7);
      }
    },
    loadDom: function () {
      this.img_rand = Math.floor(Math.random() * this.options.imgName.length);
      var l = "",
          t = "";

      var i = _cx$.j(11);

      for (4; i !== _cx$["j"](12);) switch (i) {
        case _cx$.j(11):
          this["options"]["type"] != 1 && (l += "<div class=\"verify-img-panel\"><div  class=\"verify-refresh\"><i class=\"iconfont icon-refresh\"></i></div><div class=\"verify-gap\"></div></div>", t = "<div  class=\"verify-sub-block\"></div>");
          i = _cx$.k() ? _cx$["j"](12) : _cx$.j(12);
      }

      l += "<div class=\"verify-bar-area\"><span  class=\"verify-msg\">请按住滑块，拖动到最右边</span><div class=\"verify-left-bar\"><span  class=\"verify-msg\"></span><div  class=\"verify-move-block\"><i  class=\"verify-icon iconfont icon-right\"></i>" + t + "</div></div></div>";

      var f = _cx$["j"](13);

      for (5; f !== _cx$["j"](14);) switch (f) {
        case _cx$.j(13):
          this.$element.append(l);
          f = _cx$["k"]() ? _cx$.j(14) : _cx$["j"](14);
      }

      this["htmlDoms"] = {
        gap: this.$element.find(".verify-gap"),
        sub_block: this.$element["find"](".verify-sub-block"),
        img_panel: this.$element.find(".verify-img-panel"),
        bar_area: this["$element"].find(".verify-bar-area"),
        move_block: this["$element"]["find"](".verify-move-block"),
        left_bar: this.$element["find"](".verify-left-bar"),
        msg: this.$element["find"](".verify-msg"),
        icon: this.$element["find"](".verify-icon"),
        refresh: this.$element.find(".verify-refresh")
      };
      this.status = !1;
      this.setSize = this.resetSize(this);

      for (var p = _cx$["j"](21); p !== _cx$["j"](22);) switch (p) {
        case _cx$.j("19"):
          this["htmlDoms"].img_panel["css"]({
            width: this["setSize"].img_width,
            height: this["setSize"].img_height,
            background: "url(images/" + this.options["imgName"][this["img_rand"]] + ")",
            "background-size": this.setSize["img_width"] + " " + this.setSize["img_height"]
          });
          p = _cx$.j("18");
          break;

        case 5 * (5 + 1) * (5 + 2) * (5 + 3) * (5 + 4) * (5 + 5) % 6 + 25 + "":
          this["htmlDoms"].sub_block["css"]({
            width: this.options["blockSize"].width,
            height: this["options"].blockSize["height"]
          });
          p = _cx$.j("19");
          break;

        case _cx$.j(20):
          this["htmlDoms"].left_bar["css"]({
            width: this["options"]["barSize"]["height"],
            height: this.options.barSize.height
          });
          p = _cx$["j"](16);
          break;

        case _cx$["j"]("17"):
          this["htmlDoms"].move_block["css"]({
            width: this["options"].barSize.height,
            height: this.options["barSize"]["height"]
          });
          p = _cx$["j"](20);
          break;

        case _cx$.j(21):
          this.htmlDoms["gap"].css({
            width: this.options.blockSize.width,
            height: this["options"]["blockSize"].height
          });
          p = _cx$["j"]("15");
          break;

        case _cx$["j"]("18"):
          this["htmlDoms"].bar_area.css({
            width: this["setSize"].bar_width,
            height: this["options"]["barSize"].height,
            "line-height": this.options.barSize.height
          });
          p = _cx$["j"]("17");
          break;

        case _cx$["j"](16):
          this.randSet();
          p = _cx$.k() ? _cx$["j"](22) : _cx$.j(22);
      }
    },
    start: function (c) {
      var e = _cx$.j("25");

      for (1; e !== _cx$["j"]("28");) switch (e) {
        case _cx$.j(24):
          c["stopPropagation"]();

          _cx$.k();

          e = _cx$.j("28");
          break;

        case _cx$.j(26):
          this["htmlDoms"]["move_block"]["css"]("background-color", "#7AC23C");
          e = _cx$["j"](27);
          break;

        case _cx$.j(27):
          this["htmlDoms"].left_bar.css("border-color", "#7AC23C");
          e = _cx$["j"](23);
          break;

        case _cx$.j("25"):
          this.htmlDoms["msg"].text("");
          e = _cx$["j"](26);
          break;

        case _cx$["j"](23):
          this["htmlDoms"].icon.css("color", "#fff");
          e = _cx$.j(24);
      }

      this["status"] = !0;
    },
    move: function (c) {
      var a = _cx$.j(29);

      for (4; a !== _cx$.j(30);) switch (a) {
        case _cx$.j(29):
          if (this.status) {
            if (c.touches) s = c.touches[0].pageX;else var s = c.clientX;
            var i = s - t.prototype.getLeft(this.htmlDoms["bar_area"][0]);
            this.options["type"] != 1 ? i >= this.htmlDoms["bar_area"][0]["offsetWidth"] - parseInt(parseInt(this.options["blockSize"].width) / 2) - 2 && (i = this.htmlDoms.bar_area[0]["offsetWidth"] - parseInt(parseInt(this.options.blockSize.width) / 2) - 2) : i >= this.htmlDoms["bar_area"][0]["offsetWidth"] - parseInt(parseInt(this.options.barSize.height) / 2) + 3 ? (this.$element.find(".verify-msg:eq(1)").text("松开验证"), i = this.htmlDoms.bar_area[0].offsetWidth - parseInt(parseInt(this.options.barSize["height"]) / 2) + 3) : this["$element"].find(".verify-msg:eq(1)")["text"]("");
            i <= 0 && (i = parseInt(parseInt(this["options"].blockSize.width) / 2));
            var e = i - parseInt(parseInt(this["options"].blockSize["width"]) / 2);
            e < 0 && (e = 0);
            this.htmlDoms.move_block["css"]("left", e + "px");
            this["htmlDoms"].left_bar.css("width", e + "px");
          }

          a = _cx$.k() ? _cx$["j"](30) : _cx$.j(30);
      }
    },
    end: function () {
      var l = this;

      var t = _cx$["j"]("31");

      for (0; t !== _cx$.j("32");) switch (t) {
        case _cx$["j"]("31"):
          if (this["status"]) {
            if (this["options"].type != 1) {
              var a = parseInt(this.options.vOffset);
              parseInt(this.htmlDoms.gap.css("left")) >= parseInt(this.htmlDoms.move_block.css("left")) - a && parseInt(this.htmlDoms.gap["css"]("left")) <= parseInt(this["htmlDoms"]["move_block"].css("left")) + a ? (this.htmlDoms["move_block"].css("background-color", "#5cb85c"), this.htmlDoms.left_bar["css"]({
                "border-color": "#5cb85c",
                "background-color": "#fff"
              }), this["htmlDoms"].icon.css("color", "#fff"), this["htmlDoms"]["icon"].removeClass("icon-right"), this["htmlDoms"]["icon"].addClass("icon-check"), this.htmlDoms["refresh"].hide(), this.htmlDoms["move_block"].unbind("mousedown touchstart"), this.options["success"]()) : (this["htmlDoms"]["move_block"].css("background-color", "#d9534f"), this["htmlDoms"]["left_bar"].css("border-color", "#d9534f"), this["htmlDoms"].icon["css"]("color", "#fff"), this.htmlDoms.icon.removeClass("icon-right"), this["htmlDoms"].icon["addClass"]("icon-close"), setTimeout(function () {
                l.htmlDoms.move_block["animate"]({
                  left: "0px"
                }, "fast");
                l.htmlDoms["left_bar"].animate({
                  width: "40px"
                }, "fast");
                l.htmlDoms.left_bar["css"]({
                  "border-color": "#ddd"
                });
                l.htmlDoms.move_block.css("background-color", "#fff");
                l.htmlDoms.icon.css("color", "#000");
                l.htmlDoms.icon["removeClass"]("icon-close");
                l.htmlDoms["icon"].addClass("icon-right");
                l.$element.find(".verify-msg:eq(0)").text("请按住滑块，拖动到最右边");
              }, 400), this["options"].error());
            } else parseInt(this.htmlDoms.move_block.css("left")) >= parseInt(this.setSize["bar_width"]) - parseInt(this["options"].barSize.height) - parseInt(this.options["vOffset"]) ? (this["htmlDoms"].move_block.css("background-color", "white"), this.htmlDoms["left_bar"].css({
              color: "#4cae4c",
              "border-color": "#5cb85c",
              "background-color": "#fff"
            }), this.htmlDoms.icon["css"]("color", "#fff"), this.htmlDoms.icon["removeClass"]("icon-right"), this.htmlDoms.icon["addClass"]("icon-check"), this.htmlDoms.refresh["hide"](), this.htmlDoms.left_bar.css({
              "background-color": "#7AC23C",
              color: "white"
            }), this["htmlDoms"].move_block.unbind("mousedown"), this.htmlDoms.move_block.unbind("touchstart"), this["options"].success()) : (this.htmlDoms.move_block["css"]("background-color", "#d9534f"), this.htmlDoms.left_bar.css("border-color", "#d9534f"), this["htmlDoms"]["icon"].css("color", "#fff"), this.htmlDoms["icon"].removeClass("icon-right"), this.htmlDoms.icon["addClass"]("icon-close"), setTimeout(function () {
              l["htmlDoms"]["move_block"]["animate"]({
                left: "0px"
              }, "fast");
              l.htmlDoms.left_bar.animate({
                width: "40px"
              }, "fast");
              l.htmlDoms["left_bar"].css({
                "border-color": "#ddd"
              });
              l.htmlDoms.move_block.css("background-color", "#fff");
              l.htmlDoms.icon.css("color", "#000");
              l.htmlDoms["icon"].removeClass("icon-close");
              l.htmlDoms.icon.addClass("icon-right");
              l["$element"]["find"](".verify-msg:eq(0)").text("请按住滑块，拖动到最右边");
            }, 400), this["options"].error());

            this["status"] = !1;
          }

          _cx$["k"]();

          t = _cx$["j"]("32");
      }
    },
    resetSize: function (x) {
      var l,
          t,
          a,
          s,
          n = x.$element["parent"]().width() || $(c).width(),
          m = x.$element.parent().height() || $(c).height();

      var d = _cx$["j"](34);

      for (3; d !== _cx$.j("38");) switch (d) {
        case _cx$.j(36):
          s = x.options.barSize.height["indexOf"]("%") != -1 ? parseInt(x.options["barSize"].height) / 100 * m + "px" : x.options.barSize.height;
          d = _cx$["j"](37);
          break;

        case _cx$.j(34):
          l = x.options.imgSize.width["indexOf"]("%") != -1 ? parseInt(x.options.imgSize.width) / 100 * n + "px" : x["options"].imgSize.width;
          d = _cx$["j"](33);
          break;

        case _cx$["j"](33):
          t = x["options"].imgSize["height"].indexOf("%") != -1 ? parseInt(x.options["imgSize"].height) / 100 * m + "px" : x.options.imgSize["height"];
          d = _cx$["j"](35);
          break;

        case _cx$["j"](35):
          a = x["options"].barSize.width["indexOf"]("%") != -1 ? parseInt(x.options["barSize"].width) / 100 * n + "px" : x["options"].barSize.width;
          d = _cx$["j"](36);
          break;

        case _cx$["j"](37):
          return {
            img_width: l,
            img_height: t,
            bar_width: a,
            bar_height: s
          };
      }
    },
    randSet: function () {
      var a = Math.floor(Math.random() * 9 + 1),
          s = Math.floor(Math.random() * 9 + 1),
          i = a * parseInt(this["setSize"]["img_height"]) / 15 + parseInt(this["setSize"].img_height) * 0.1,
          e = s * parseInt(this.setSize["img_width"]) / 15 + parseInt(this["setSize"].img_width) * 0.1;

      for (var h = _cx$["j"](41); h !== _cx$.j("42");) switch (h) {
        case _cx$["j"](41):
          this.$element.find(".verify-img-panel").css("margin-bottom", this["options"]["vSpace"] + "px");
          h = _cx$.j("40");
          break;

        case _cx$["j"]("39"):
          this["$element"]["find"](".verify-sub-block").css({
            top: "-" + (parseInt(this.setSize["img_height"]) - i + this["options"]["vSpace"] + 2) + "px",
            "background-image": "url(images/" + this.options.imgName[this.img_rand] + ")",
            "background-size": this.setSize["img_width"] + " " + this["setSize"].img_height,
            "background-position-y": "-" + i + "px",
            "background-position-x": "-" + e + "px"
          });
          h = _cx$.k() ? _cx$["j"]("42") : _cx$.j("42");
          break;

        case 0 * (0 + 1) % 2 + 60 + "":
          this["$element"].find(".verify-gap")["css"]({
            top: i,
            left: e
          });
          h = _cx$.j("39");
      }
    },
    refresh: function () {
      var s = _cx$.j(43);

      for (1; s !== _cx$.j("44");) switch (s) {
        case _cx$.j(43):
          this["randSet"]();

          _cx$.k();

          s = _cx$.j("44");
      }

      this["img_rand"] = Math["floor"](Math.random() * this.options.imgName.length);

      var i = _cx$["j"](45);

      for (1; i !== _cx$["j"](47);) switch (i) {
        case _cx$.j(45):
          this.$element.find(".verify-sub-block").css({
            "background-image": "url(images/" + this.options["imgName"][this.img_rand] + ")",
            "background-size": this.setSize.img_width + " " + this["setSize"].img_height
          });
          i = _cx$.j(46);
          break;

        case _cx$.j(46):
          this["$element"].find(".verify-img-panel").css({
            background: "url(images/" + this.options["imgName"][this["img_rand"]] + ")",
            "background-size": this.setSize.img_width + " " + this["setSize"].img_height
          });
          i = _cx$["k"]() ? _cx$["j"](47) : _cx$.j(47);
      }
    },
    getLeft: function (c) {
      var t = $(c)["offset"]().left;

      var a = _cx$.j("48");

      for (1; a !== _cx$.j(49);) switch (a) {
        case _cx$["j"]("48"):
          return t;
      }
    }
  };

  $.fn.slideVerify = function (c, x) {
    var s = new t(this, c);

    var i = _cx$.j("50");

    for (3; i !== _cx$.j(51);) switch (i) {
      case _cx$["j"]("50"):
        s.init();
        i = _cx$.k() ? _cx$["j"](51) : _cx$.j(51);
    }
  };
}(jQuery, window, document);